I/O Extended 2019 Osaka by GDG Kyoto 参加レポート #io19 #io19jp
はじめに
Google I/O 2019 の報告会「I/O Extended 2019 Osaka by GDG Kyoto」の参加レポートです。
私の発表内容は下記です。
初めて Google I/O に参加した人として「I/O Extended 2019 Osaka by GDG Kyoto」で登壇してきた #io19 #io19jp
この記事では、他の方の発表内容について記載します。
Google Developer Expert (GDE) : 田中洋一郎さん
- Google Assistant の話題
- Assistant に話しかけたことがある人? -> 参加者の 3 割くらい
- 去年はぜんぜん手が上がらなかった
- GDE は担当がある(田中洋一郎さん は Web と Assistant)
- Assistant のユーザー向けの話
- Google I/O 2016 の発表から 35 ヶ月。3 歳。
- サポート言語数: 8 -> 30
- サポート国数: 14 -> 80
- 改良点
- 音声認識の高速化
- いままでは話しかけた音声データがすべてサーバにアップロードされ、サーバ上のモデルによりテキストに起こされていた
- 学習モデルのファイルサイズが 100GB -> 0.5GB に軽量化
- 軽量化により Android 端末に載せられる
- 音声データをサーバにアップロードする必要がなくなったため、音声認識が高速に動作する
- Personalize help
- 過去の検索結果を考慮してレコメンドしてくれる
- 「BBQ はこの前したよ」とか
- ドライビングモード
- Google Maps と Assistant の連携
- Google Home Hub -> Nest Hub
- 名前を変える理由は発表されなかった
- タイマーをとめたいときに Assistant に "Stop!" と言うだけで良くなった
- Duplex on the web
- 日本にくるのはまだまだ先
- Assitant に話しかけると Web ページ上のフォームを埋めてくれる
- Nest Hub
- Google Home Hub 改め、Nest Hub がやっと日本で発売される
- カメラ付きの Nest Hub Max が出た
- これは日本の発売が決まっていない
- Google Duo でビデオチャットができる
- カメラが付いたことで、手を広げてかざすだけでビデオ再生を停止できる
- Stop Movie! と声を出さないでいい
- 音声認識の高速化
- 開発者向けの話題
- 参加者の興味を確認
- Android? -> 参加者の 1 割くらい
- ML? -> 数人
- Web? -> 数人
- デザイナー? -> ゼロ?
- それぞれのロール向けに話題がある
- Content Owner -> Markup, Template, Mini-apps
- Android app developer -> App Actions
- Hardware developer -> Smart Home
- Innovator in the Conversational space -> Conversastional Actions, Interective Canvas
- How-to and FAQ Content
- Web ページにメタデータを追加
- Google の検索結果に含まれたときの表示がリッチになる
- スマートディスプレイでわかりやすく表示される
- 動画の再生位置ごとに概要を登録
- Actions on Google Console から登録
- スマートディスプレイでいい感じに表示される
- Web ページにメタデータを追加
- Mini-apps
- Google の検索結果の中にインタラクティブな Web ページを埋め込める。JS が動く
- 例としては検索結果のページに表示されている Google 翻訳とか
- 使用できる UI コンポーネント
- Text, Carousel, Chip, Button, Image, 他
- Google Asistant、スマートディスプレイでも最適な表示になる
- Web だとテキストでフックする機能が、音声でフックできる
- 登録は Mini-apps on Actions on Google Console から
- Google の検索結果の中にインタラクティブな Web ページを埋め込める。JS が動く
- App Actions
- Assistant に「ジョギングを始める」と声を掛けると、ナイキのアプリが起動してジョギングの計測を開始する、といったことができる
- Smart Home
- スマートホーム化している人は? -> 参加者の中で 5 人くらい
- 3500 の企業、ブランドから 30000+ のユニークなデバイスが Smart Home に接続されている
- 日本への普及はこれからかな、という感じ
- New traits
- 昔からデバイスの種類が Google で定義されている
- 種類が 8 個ほど増えた
- Two Integration Paths
- Cloud to cloud
- いままでの経路。まわりくどい
- Google のサーバ -> メーカーのサーバ -> また Google のサーバ -> Google Assistant -> デバイス
- Local Home SDK
- Google のサーバを経由せずに、デバイスを直接制御できる
- Cloud to cloud
- Interactive Canvas
- スマートディスプレイの画面全面が使えるアプリを作れる
- Web 系の技術を利用(Web App), Web App は Interactive Canvas API を使用する
- 田中さん的には、スマートディスプレイでゲームは微妙に感じた
- IoT が本分だから
- スマートホームを導入してもらう流れとしては良い
- Sessions
- Design and Build Actions
- Prototyping Voice Experiences: Design Sprints for the Google Assistant (Google I/O'19) - YouTube
- Intro to the Google Assistant: Build Your First Action (Google I/O'19) - YouTube
- 10 Best Practices for High Quality Actions (Google I/O'19) - YouTube
- Let’s Talk: Designing Quality Conversations for the Google Assistant (Google I/O'19) - YouTube
- Smart Home
- Search and Assistant
- Android
- Smart Display
- Others
- Assistant Developer Community Japan
- Design and Build Actions
- 参加者の興味を確認
- 質疑応答
- 軽量化されたモデルが載るのは Andriod だけ? iOS は?
- 現時点では Android だけ
- iOS に限らず、スマートディスプレイにもまだ載ってない。発表もない
Google Developer Expert (GDE) : TakuyaShimmura さん
- ML(Machine Learning)の GDE
- 初めて Google I/O に行った
- ML について Google I/O 2019 で初めての発表された内容は少なかった。復習が多かった
- ML のエンジニアの方は? -> 3 人くらい?
- ML に興味ある人? -> 3 割くらい
- Cloud TPU Pods
- Google の Deep Learning に特化した ASIC
- TPU Core
- コアが 2 個
- Cloud TPU v2
- Cloud TPU v3
- TPU Core
- Why is TPU fast?
- bfloat16 型を用いることで収束精度は低下させることなくパフォーマンス向上
- float16 型 との違い
- (ここで、Google のドキュメントから引用した図の float16 の range の記載が誤っていることに気づく)
- float16 はすぐにオーバーフローしてしまう
- bfloat16 は exponent、指数を 3bits 増やしてる
- (TPU のドキュメントにデータの流れの GIF 動画がある)
- How fast?
- 時間あたりのコストは高いが処理が早く完了するのでその分安くなる
- v2 と v3 の違い
- 大きい画像にするほど差が出てくる(v3 が早い)
- How to use?
- Compute Engine
- k8s Engine
- ML Engine
- TPU Pods (Public Beta)
- 今回、Public Beta になった
- 大規模分散向け
- コードはほぼ変えることなくシングルノードのように扱える
- まったく変えなくてもよかったかも
- How fast?
- ResNet-50 の訓練を 7.9 分で完了
- Google の Deep Learning に特化した ASIC
- AutoML
- AutoML Vision
- Classfication
- Vision Edge
- Object Detection
- Natural Language
- Classfication
- Entity Extraction
- Sentiment Analysis
- Video Intelligence
- Translation
- Tables: CSV データや Big Query のようなテーブル構造のデータがあれば
- Neural Architecture Search to find a model
- ニューラルネットワークのモデルをニューラルネットワークで学習(?)
- Perfomance of NAS(上記の略称?)
- 画像分類においては訓練時間・精度ともに人間が作ったモデルを圧倒
- Auto ML Tables のデモ
- CSV データや Big Query のようなテーブル構造のデータに対する Auto ML
- ターゲットを指定して回帰・分帰のどちらでも可能
- 時系列データ予測なども可能
- BQ を指定する場合は、BQ のプロジェクト ID などを指定するだけ
- CSV はファイルをアップロードするだけ
- 列名に対して変数タイプや null を許容するかなどのスキーマを指定できる
- ターゲット列を選択する(予測する対象)
- ターゲット列に対する他の列の重要度なども確認できる
- 重み列
- 重視する列を指定できる
- AutoML Vision
- Cutting Edge of TensorFlow
- TensorFlow ファミリー
- Probability
- Agents
- Privacy
- Ranking
- Federated
- TensorFlow Graphics
- 3D モデルに対するレンダリング処理とかを扱える
- 2 次元の画像に対して、3 次元の画像を予測をする(?)
- 2D の画像を突っ込むだけで 3D が作れることを目標として開発が進められている。
- TensorBoard Extension も用意されている
- 2D の画像に対する姿勢推定でも活躍
- TensorFlow ファミリー
- Machine Learning Fairness
- Google AI Principles
- 7 個あるうちの以下が重要
- Avoid creating or reinfocing unfair bias
- 社会のため、人のためになる AI を作っていく中で重要になる要素のうちの一つ
- 人間のプロダクトデザインの歴史が解説されていた
- プロダクトデザインは全ての人のニーズに合わせて決められるわけではない。
- バンドエイドの色とか
- プロダクトデザインは全ての人のニーズに合わせて決められるわけではない。
- どのようにバイアスが入るか解説されていた
- パイプライン上の多くの箇所でバイアスが入る
- バイアスの例
- 特定の民族の結婚衣装を認識できないとか
- 多様性のあるデータを集めよう
- Google Clips
- 根性いる。解決方法も言及されている
- 苦手な部分のデータを集める
- グループ間で誤差が出ないように(誤差関数?)
- 結果に対してユーザーが手動でバイアスを選択できるように機能を設計する
- Avoid creating or reinfocing unfair bias
- Data Cards / Model Cards
- データ・セットやモデルについて透明性を担保するためのフレームワーク
- Fiarness Indicator
- (モデルに対する公平性を計測するものっぽい)
- 7 個あるうちの以下が重要
- Google AI Principles
- 質疑応答
- Google I/O の前に Cloud Next でほとんど発表されてしまったことについてどう思う?
- 確かに技術的にすごい発表は Google I/O ではなかった。
- でも、Google I/O では世の中のために、という点にフォーカスされているセッションが多くて良かった。
- Tensorflow と TPU を比較したときに Tensorflow のほうが早いという噂を聞いたが、どうか?
- (登壇者と複数の参加者を含めて議論。比較対象が誤っているのでは?という話で終始した感じ)
- ML を使用した事例はほかにあったか?
- AI といっしょに絵をかくというような事例があった
- いっしょに音楽を作るとか
- Google I/O の前に Cloud Next でほとんど発表されてしまったことについてどう思う?
有山圭二さん (有限会社シーリス)
- Twitter やってません
- Google I/O とは
- GW は避けてくれとアンケートに書いた
- 昔はセッションの予約ができなかったから長蛇の列で大変だった
- だから GDG のラウンジで寝てた
- 年々良くなってる
- デジタル・デトックス
- デジタルから離れましょうという場所だけど携帯さわってる人多数
- 交流のための場所だがただの休憩所になってる
- セキュリティがある
- YouTube が武装した襲撃を受けた年があり、そこからセキュリティが入るようになった。
- 白バイもいる
- 警察犬もいる
- Google の開発者向けイベントたくさんある
- なぜ Google I/O に行くのか
- Google の本社が近いから、Google の開発者が来やすい。会いやすい
- なぜ Google I/O に行くのか
- Android Platform (Q)
- storage
- Security
- Dark theme
- Bubbles
- Android Studio
- UI Tools
- Debug Tools
- Android Jetpack
- Camera X
- ありがたい
- Jetpack Compose
- コードで UI をゴリゴリ書ける
- ノルかソルか決めかねている
- Camera X
- Google 開発者サービス
- In-app Update
- Google Play
- Internal App Sharing
- Firebase
- Auto ML Vison
- (聞き逃した)
- 学生さんは? -> 5 人くらい
- YouTube は字幕出る
- ML 関係の注目ポイント
- Get started with TensorFlow's High-Level APIs (Google I/O '18)
- これを tweet したら、記事を書いた御本人が RT
- 御本人(ローレンスさん)もずっとおなじ図を使っていたけど、今年は Programming -> Traditional Programming とわざわざ変えた
- Get started with TensorFlow's High-Level APIs (Google I/O '18)
- I/O の背景
- マウンテンビュー・ダウンタウンで毎年新聞を買う。
- ことしの一面は Uber のストライキ。
- いつもは Google I/O のことが載ってる。今年は Business Report のところに Pixel の新機種の話だけ。
- オークランドが顔認識のソフトを拒否、サンフランシスコは前から。(Google I/O の Privacy まわりの発表がメインになってたのはこれが背景だろうという話)
- 「Google Control is not privacy #savelocalnews」という飛行機がずっと飛んでた
- 質疑応答
- GDG 神戸 の勉強会で 2017 年にはローレンスさんはすでに traditional programming という言葉を使用していた
- 今になって Google I/O という大舞台で使ったことが重要
- 発表内容に少しまずい表現があった。Google が以前 AI という言葉を使わなかった理由は宗教ではない。AI を使用したプロダクトへの理解の妨げになるから、ML という言葉を使ったというのが公式見解。
- Tensorflow をリリースしたときに MI マシンインテリジェンスという言葉を使った。
- Youtube で見れますというのは本当。でも、もっと Google I/O でしか得られない話をしないと。
- 肉がおいしい。
- Google I/O に行ったことがある人は? -> 10 人くらい
- 応募するのはタダ。当たってから考える
- GDG 神戸 の勉強会で 2017 年にはローレンスさんはすでに traditional programming という言葉を使用していた
Rie Kanetaka さん (GDG 京都)
- Women Techmakers について
- Google I/O 2019 の参加者は 総勢 7000 人。女性は 26%。
- Women Techmakers の I/O における取り組み
- Dinner(お食事会)
- Meetup(交流会)
- picture(女性参加者集合写真)
- その存在の明示(誤解や無意識な偏見の解消)
- 励まし合うためのコミュニティ活動
- キャリアプラン(スキル獲得)のためのリソース
- 公式サイト
- YouTube
- IWD 2019 WTM Kyoto meetup - connpass
- Flutter についてちょっとしたこと
- ダークテーマ対応
- Dart に Non Nullable Types 追加
furusin さん
- 2011 年の Google I/O との違い
- そもそも場所が違う
- 2015 年以前: サンフランシスコのモスコーニ・センター
- 2016 年以降: マウンテンビューのショアライン・アンフィシアター
- 協力企業とかのブースがなくなってた
- I/O 前日の Google の BootCamp がなかった
- おみやげがない
- 2011 年は ChromeBook, Galaxy Tab, etc
- チケット代が爆上がり($150 -> $1150)
- 前回の参加時は学生価格でチケットを買った
- Uber/Lyft が現れた
- Airbnb が現れた
- ドロイドくんの腕が取れてた
- そもそも場所が違う
- Android Q で対応が必要なころ
- Gestural Navigation(今日する話)
- Dark Theme(今日する話)
- SYSTEM_ALERT_WINDOW deprecated
- android.preference deprecated
- バックグラウンドでロケーションが必要な場合、追加の Permission が必要
- Share Sheet
- Bubbles
- etc...
- Gestural Navigation
- Navigation Bar のタイプ
- 3type
- Full Gestural
- 2-button
- 3-button
- Google の人いわく、メーカーによって Navigation Bar のデザインが違うため、ベースを統一したかった。
- Gesture の種類
- 左右ともに戻る
- 下部からスワイプ。アプリの切り替え
- 指を離したら、onPause -> onStop
- 戻ってきたら、onRestart -> onResume
- 対応のロードマップ
- UI を edge-to-edge にする
- Step1. Status Bar の後ろも描画する
- Step2. Navigation Bar の後ろも描画する
- Step3. Insets
- System Window Inset
- クリック可能な View は避けて配置する
- System Window Inset
- UI を edge-to-edge にする
- Gesture と競合するものをいい感じにする
- View.setSystemGestureExclusionRects()で競合を奪える
- DrawerLayout と SeekBar は別途 AndroidX でうまいことしてくれる
- Navigation Bar のタイプ
- DarkTheme
- アプリをより暗い環境でも使いやすくするため
- バッテリーを守る
- 目の保養
- 適用方法
- Force Dark
- Custom Dark
- ダークモードの適用条件に複数のモード指定が用意されている
- 画像もデークテーマ対応が必要
- 画像の組み込み数が倍になるから、ベクターが有利と考えたけど、そこまでする必要があるかという問題もある。
- アプリではテーマを選べるようにすべき
- ダークテーマの ON/OFF でアプリが再起動される
- WebView 内の画像が反転されていたり、されていなかったりして、微妙。注意したほうがいい。
- 「対応しないという選択肢」はない
- 勝手にはダークテーマの切り替えに対応しない
電子計算機研究会 学生さん
- AutoML NL を試してみた
そのほか
- なぜ今年はおみやげがなかったのか?
- おみやげ目当ての参加者が増えるので、以前からそういう年があるらしい。
- 学習モデルの軽量化により端末に組み込められることで、モデルが外部に流出する可能性が出てきたが問題はあるか?
- 問題ない派: モデルは改良、応用を重ねていくものなので問題ない。
- 問題ある派: 経営層は納得しない。モデルの暗号化などの機能が必要。